#include <iostream>
#include <string>
#include <stack>

using namespace std;
/*  
// 1.整体入栈再逐个单词逆序输出
int main()
{
    string str;
    getline(cin, str);
    int len = str.size();
    if(len == 1 || len > 100){
        cout << str;
        return 0;
    }
    stack<char> s1, s2;
    for(int i = 0; i < len; ++i){
        s1.push(str[i]);
    }
    while(!s1.empty()){
        if(s1.top() == ' '){
            while(!s2.empty()){
                cout << s2.top();
                s2.pop();
            }
            cout << ' ';
        }
        else{
            s2.push(s1.top());
        }
        s1.pop();
    }
    while (!s2.empty()){
		cout << s2.top();
		s2.pop();
	}
    return 0;
}
*/




//3. 利用cin>>str接收输入遇到空格结束，自然分割开每个单词
int main()
{
    string str;
    string ret = "";
    while(cin >> str){
    //再将每次接收到的单词拼接到之前串的前面
        ret = (' ' + str) + ret;
    }
    ret.erase(ret.begin());
    cout << ret;
    return 0;
}